fn parse_then_log(s: &str) -> Result<u32, String> {  
    s.parse::<u32>()  
        .map_err(|e| format!("Parse error: {}", e))?  
        .checked_mul(2).ok_or("Overflow".to_string())  
}  
#[test] fn test_error_chain() { /* 测试不同错误场景 */ }  